package com.atguigu.exercise3;

/**
 * @author : leimingchao
 * @date Date : 2021年08月30日 22:00
 */
public class ComparableCircle extends Circle implements CompareObject {

    public ComparableCircle(double radius) {
        super(radius);
    }

    @Override
    public int compareTo(Object o) {
        if (this == o) {
            return 0;
        }

        if (o instanceof ComparableCircle) {
            ComparableCircle comparableCircle = (ComparableCircle) o;
            //错误的
            //return (int) (this.getRadius() - comparableCircle.getRadius());
            //正确的
            //方式一：
            // if (this.getRadius() > comparableCircle.getRadius()) {
            //     return 1;
            // } else if (this.getRadius() < comparableCircle.getRadius()) {
            //     return -1;
            // } else {
            //     return 0;
            // }
            //当属性radius声明为Double类型时，可以调用包装类的方法
            //方式二：
            return this.getRadius().compareTo(comparableCircle.getRadius());

        } else {
            // return 0;
            throw new RuntimeException("传入的数据类型不匹配");
        }
    }
}
